home *** CD-ROM | disk | FTP | other *** search
/ Wonky Flux Batch 2019 02 / Wonky_Flux_Batch_2019-02.zip / Wonky Flux Batch 2019-02 / 112 - Unknown.dsk / SUPER.SCREEN.S next >
Text File  |  2019-02-21  |  17KB  |  397 lines

  1.                          ;===============================
  2.                          ;[:       SUPER SCREEN        :]
  3.                          ;===============================
  4.                          ;[:  Written by Mike Delaney  :]
  5.                          ;[:        ATLANTIS BBS       :]
  6.                          ;[:      December 19,1987     :]
  7.                          ;===============================
  8.                          ;[:(614) 836-9629 NOT PCP'able:]
  9.                          ;===============================
  10.  
  11.  
  12.           public term3
  13.           public term4
  14.  
  15. begin
  16.           clear
  17.           set pa$=ram,8:set ph$=ram+8,12
  18.           when$=ram+20:flag=ram+22
  19.           nibble=ram+27:byte=ram+37
  20.           sc$=chr$(12)
  21.  
  22. start
  23.           modem(1):close
  24.           open #1,"a:data"
  25.           input #1,c1,c2,ct,ct$,da$
  26.           input #1,nu,mn,wm,tm\lu$\l2$\l3$\l4$\l5$
  27.                          ;                        ^^^^^^^^^^^^^^^^^LAST 5 CALLERS
  28.           close:open #1,"a:data1"
  29.           input #1,sn$\sys$\sv$
  30.           input #1,md$\s$\n$
  31.  
  32.                          ; LG=(LOG.SYSTEM) FV=(FORCED VOTE) XF=(TRANSFERS UP/DN) MT=(MAT MANIA UP/DN)
  33.                          ; MT=(MAT MANIA UP/DN) SR=(SPUR UP/DN) GR=(NUMBER OF GRAPHIC LOGONS)
  34.                          ; SET ALL TO ZERO: LOG WILL BE ON, FORCED VOTE OFF, AND ALL OTHERS UP
  35.  
  36.           input #1,lg,fv,xf,mt,sr,gr:close
  37.           open #1,"a:storage"
  38.           input #1,z1,z2
  39.           close
  40.  
  41.           cn$=str$(c2)
  42.           if ct$=da$ goto start1
  43.  
  44.                          ; THE CODE BELOW GENERATES HOW MUCH STORAGE IS ON THE DRIVES ONCE A DAY
  45.  
  46.           lg$="b:":use "b:xtyp",lg$:x=peek(865)+peek(866)*256
  47.           y=peek(867)+peek(868)*256:z1=x-y
  48.           lg$="i:":use "b:xtyp",lg$:x=peek(865)+peek(866)*256
  49.           y=peek(867)+peek(868)*256:z2=x-y
  50.  
  51.           create "a:storage":open #1, "a:storage":print #1,z1,z2:close
  52.           open #1,"b:stats":input #1,j1,j2,j3,j4,j5,j6,j7,j8:close
  53.           kill "b:stats":create "b:stats:close
  54.           open #1,"b:accesses":input #1,n1,n2,n3,n4:close
  55.           kill "b:accesses":create "b:accesses"close
  56.           if not j2 create "b:log.daily":close:goto start1
  57.           k2=(j2*10)/144:k3=j5+j6+j7+j8
  58.           if not k3 create "b:log.daily":close:goto start1
  59.           if j8 k8=(j8*100)/k3
  60.           if j7 k7=(j7*100)/k3
  61.           if j6 k6=(j6*100)/k3
  62.           if j5 k5=100-(k6+k7+k8)
  63.           if j4 k4=(j4*100)/k3
  64.  
  65.                          ; create necessary files for ram and disk
  66.  
  67.           kill "b:log.daily" create "b:log.daily"
  68.           open #1,"b:log.daily"
  69.           print #1,":=- -=:=- -=:=- -=:=- -=:=- -=:=- -=:=-";
  70.           print #1,"-=:=- -=:=- -=:=- -=:=- -=:=- -=:=- -=:"
  71.           print #1, "                          Atlantis Activity "ct$\
  72.           if (j7) or (j8) print #1, "                             0300 Baud  : "right$(" "+str$(j5),2)" -"right$("   "+str$(k5),3)"%"
  73.           print #1, "Online Time : "right$("0"+str$(j2/60),2)":"right$("0"+str$(j2 mod 60,2);
  74.           if (j7) or (j8) print #1, "          1200 Baud  : "right$("  "+str$(j6),2)" -"right$("   "+str$(k6),3)"%";
  75.           if ((not(j7)) and (not(j8))) print #1, "          0300 Baud  : "right$(" "+str$(j5),2)" -"right$("   "+str$(k5),3)"%";
  76.           print #1, "          Todays Calls  : "right$("  "+str$(ct-1),2)
  77.           print #1, "Activity    :  "right$("   "+str$(k2),3)"%";
  78.           if (j7) or (j8) print #1, "          2400 Baud  : "right$("  "+str$(j7),2)" -"right$("   "+str$(k7),3)"%";
  79.           if ((not(j7)) and (not(j8))) print #1, "          1200 Baud  : "right$(" "+str$(j6),2)" -"right$("   "+str$(k6),3)"%";
  80.           print #1,"          Bulletins     : "right$("  "+str$(j3),2)
  81.           if (j8) print #1, "                             9600 Baud  : "right$(" "+str$(j8),2)" -"right$("   "+str$(k8),3)"%"
  82.           print #1,":=- -=:=- -=:=- -=:=- -=:=- -=:=- -=:=-";
  83.           print #1,"-=:=- -=:=- -=:=- -=:=- -=:=- -=:=- -=:"
  84.           print #1,"                                    "date$
  85.           print #1,"##  Users Name             Connected   ";
  86.           print #1,"  Idle     Online   BP   UL   DL   Baud"
  87.           print #1,"--- --------------------   ---------   ";
  88.           print #1,"--------   ------   --   --   --   ----"
  89.           close
  90.  
  91.           create "b:board.activity":open #1,"b:board.activity":append #1
  92.           print #1,"=======================================";
  93.           print #1,"======================================="
  94.           print #1, "                          Atlantis Activity "ct$\
  95.           if (j7) or (j8) print #1, "                             0300 Baud  : "right$(" "+str$(j5),2)" -"right$("   "+str$(k5),3)"%"
  96.           print #1, "Online Time : "right$("0"+str$(j2/60),2)":"right$("0"+str$(j2 mod 60,2);
  97.           if (j7) or (j8) print #1, "          1200 Baud  : "right$("  "+str$(j6),2)" -"right$("   "+str$(k6),3)"%";
  98.           if ((not(j7)) and (not(j8))) print #1, "          0300 Baud  : "right$(" "+str$(j5),2)" -"right$("   "+str$(k5),3)"%";
  99.           print #1, "          Todays Calls  : "right$("  "+str$(ct-1),2)
  100.           print #1, "Activity    :  "right$("   "+str$(k2),3)"%";
  101.           if (j7) or (j8) print #1, "          2400 Baud  : "right$("  "+str$(j7),2)" -"right$("   "+str$(k7),3)"%";
  102.           if ((not(j7)) and (not(j8))) print #1, "          1200 Baud  : "right$(" "+str$(j6),2)" -"right$("   "+str$(k6),3)"%";
  103.           print #1,"          Bulletins     : "right$("  "+str$(j3),2)
  104.           if (j8) print #1, "                             9600 Baud  : "right$(" "+str$(j8),2)" -"right$("   "+str$(k8),3)"%"
  105.           print #1,":=- -=:=- -=:=- -=:=- -=:=- -=:=- -=:=-";
  106.           print #1,"-=:=- -=:=- -=:=- -=:=- -=:=- -=:=- -=:"
  107.           print #1,"Spur ---------: "right$("    "+str$(n1),3)"    ";
  108.           print #1,"Mat Mania ----: "right$("    "+str$(n2),3)
  109.           print #1,"Trivia Master-: "right$("    "+str$(n3),3)"    ";
  110.           print #1,"Transfers ----: "right$("    "+str$(n4),3)"    ";
  111.           print #1,"Sysop Time ---: "right$(" "+str$(j1/60),2)":" right$("0"+str$(j1 mod 60),2)
  112.           print #1,"=======================================";
  113.           print #1,"======================================="
  114.           close
  115.           j1=0:j2=0:j3=0:j4=0:j5=0:j6=0:j7=0:j8=0
  116.           k1=0:k2=0:k3=0:k4=0:k5=0:k6=0:k7=0:ct=1:ct$=da$
  117.           open #1,"a:data"
  118.           print #1,c1,c2,ct,ct$,date$
  119.           print #1,nu,mn,wm,tm\a3$\l2$\l3$\l4$\l5$:close #1
  120.  
  121. start1
  122.           open #1,"b:stats"
  123.           input #1,l1,l2,l3,l4,l5,l6,l7,l8:close
  124.           if c1 cn$=str$(c1)+right$("000"+cn$,4)
  125.           text:home
  126.  
  127.                          ; YOUR SYSTEM NAME IN THE MIDDLE OF THE SCREEN
  128.           x$=chr$(45,(len(sn$)+6))
  129.           px=(40-len(x$)/2)
  130.           print @px,1 x$
  131.           print @px,3 x$
  132.           x$="-={"+chr$(32,4)+sn$+chr$(32,4)+"}=-"
  133.           px=(40-len(x$)/2)
  134.           print @px,2 x$
  135.  
  136.           r1$=right$("   "+str$(z1),5):r2$=right$("   "+str$(z2),5)
  137.           print @6,2 "Available D1"
  138.           print @10,3 left$(r1$,2)"."right$(r1$,1)
  139.           print @60,2 "Available D2"
  140.           print @64,3 left$(r2$,2)"."right$(r2$,1)
  141.           z1=0:z2=0:r1$="":r2$=""
  142.  
  143.                          ; SENDS DOWN FOR THE DAY OF WEEK..WILL WORK FOR TIME MASTER H.O.
  144.                          ; TIMEMASTER MUST BE IN SLOT 4 FOR THIS TO BE CORRECT
  145.           gosub timemaster
  146.  
  147.           x$=dw$+", "+mo$+" "+du$+yr$
  148.           px=(40-len(x$)/2)
  149.           print @px,5 x$
  150.           print @29,6 "Current -: "
  151.           print @29,7 "Reset ---: "time$
  152.           use "a:acos.time",39,5
  153.  
  154.           a=clock(1)
  155.           print @2,9  "Next call ----: "right$("    "+str$(ct),5)
  156.           x$="New Users -----: "
  157.           print @30,9 x$ ;
  158.           open #1, "b:request":a=mark(1):close
  159.           if not a print "Yes";:else print " No"
  160.           print @56,9 "Local Logons -: "right$("    "+str$(l4),5)
  161.  
  162.           print @2,10 "Total Calls --: "right$("0000"+cn$,5)
  163.  
  164.                          ; THIS ROUTINE IS FOR EFTS PRO, AND WILL NOT WORK WITH ANOTHER TRANSFER
  165.                          ; PACKAGE. IF YOU ARE NOT USING EFTS.PRO, REMOVE THE CODE FOR IT.
  166.  
  167.                          ; ------------------------------------
  168.           f$="d:xfer":open #1,f$:position #1,251,0:input #1,s0,s1,s8,s9,pv
  169.           close #1:open #1,f$+"1":position #1,50,1:input #1,u1,u2,u3,dl,ul,dh,di,uh,ui
  170.           close #1:a=s1-u1
  171.                          ; ------------------------------------
  172.  
  173.           x$="New Uploads ---: "
  174.           print @30,10 x$;
  175.           if a print "Yes":else print " No"
  176.           print @56,10 "0300 Baud ----: "right$("    "+str$(l5),5)
  177.  
  178.           print @2,11 "Total Users --: "right$("    "+str$(nu),5)
  179.           x$="E-Mail for Pete: "
  180.           print @30,11 x$;
  181.           ready "g:mail":if msg(1) print "Yes":else print " No"
  182.           print @56,11"1200 Baud ----: "right$("    "+str$(l6),5)
  183.  
  184.           print @2,12 "Online Time --: "right$(" "+str$(l2/60),2)":" right$("0"+str$(l2 mod 60),2)"   "
  185.           x$="E-Mail for Luck: "
  186.           print @30,12 x$;
  187.           ready "g:mail":if msg(2) print "Yes":else print " No"
  188.           print @56,12"Posts Today --: "right$("    "+str$(l3),5)
  189.  
  190.           k3$=left$(time$,2):k3=val(k3$)*60
  191.           if ((val(k3$)=12) and (right$(time$,2)="PM")) goto start2
  192.           if ((val(k3$)=12) and (right$(time$,2)="AM")) k3=0
  193.           if right$(time$,2)="PM" k3=k3+720
  194. start2
  195.           k4$=mid$(time$,4,2):k4=val(k4$)
  196.           k5=k3+k4
  197.           if k5 k5=k5/10:k6=(l2*10)/k5
  198.           print @2,13"% of Usage----: "right$("    "+str$(k6),5)
  199.           x=1:gosub rd.user:lr=byte(5)+byte(6)*256:a=mn-lr
  200.           x$="New Messages --: "
  201.           print @30,13 x$;right$("   "+str$(a),3)
  202.           l9=l5+l6+l7+l8
  203.           if l9 l9=l2/l9
  204.           print @56,13"Average Call -: "right$(" "+str$(l9/60),2)":" right$("0"+str$(l9 mod 60),2)"
  205.  
  206.           print @9,15 "Status"
  207.           print @9,16 "------"
  208.           x$="Last Five Callers":px=(40-len(x$)/2)
  209.           print @px,15 x$
  210.           x$="-----------------"
  211.           print @px,16 x$
  212.           print @59,15"Daily Accesses"
  213.           print @59,16"--------------"
  214.  
  215.           print @2,17 "Spur ---------: ";
  216.           if sr print " Down":else print "   Up"
  217.           print @2,18 "Mat Mania ----: ";
  218.           if mt print " Down":else print "   Up"
  219.           print @2,19 "Trivia master : ";
  220.           print "   Up"
  221.           print @2,20 "Transfers ----: ";
  222.           if xf print " Down":else print "   Up"
  223.           print @2,21 "System Log ---: ";
  224.           if lg print "   No":else print "  Yes"
  225.  
  226.           px=(40-len(lu$)/2)
  227.           print @px,17 lu$
  228.           px=(40-len(l2$)/2)
  229.           print @px,18 l2$
  230.           px=(40-len(l3$)/2)
  231.           print @px,19 l3$
  232.           px=(40-len(l4$)/2)
  233.           print @px,20 l4$
  234.           px=(40-len(l5$)/2)
  235.           print @px,21 l5$
  236.  
  237.           open #1,"b:accesses":input #1,n1,n2,n3,n4:close
  238.           print @56,17"Spur ---------: "right$("    "+str$(n1),5)
  239.           print @56,18"Mat Mania ----: "right$("    "+str$(n2),5)
  240.           print @56,19"Trivia Master-: "right$("    "+str$(n3),5)
  241.           print @56,20"Transfers ----: "right$("    "+str$(n4),5)
  242.           print @56,21"Sysop Time ---: "right$(" "+str$(l1/60),2)":" right$("0"+str$(l1 mod 60),2)
  243.  
  244.           set z1$=2048,11:z1$=time$:modem(0):z2$=time$
  245.           home:clock(0):bb=0
  246.           q4=val(mid$(z2$,1,2)):q5=val(mid$(z2$,4,2))
  247.           q6=val(mid$(z2$, 7,2))
  248.           q1=val(mid$(z1$,1,2)):q2=val(mid$(z1$,4,2))
  249.           q3=val(mid$(z1$, 7,2))
  250.           if q6<q3 q5=q5-1
  251.           if q5<q2 q4=q4-1
  252.           q3=(q6-q3)+((q6<q3)*60)
  253.           q2=(q5-q2)+((q5<q2)*60)
  254.           q1=(q4-q1)+((q4<q1)*12)
  255.           q1$=right$("00"+str$(q1),2)
  256.           q2$=right$("00"+str$(q2),2)
  257.           q3$=right$("00"+str$(q3),2)
  258.           it$=q1$+":"+q2$+":"+q3$
  259.           d=0:on nocar goto start
  260.  
  261.           tone(100,50):tone(125,50):tone(150,50):if info(2)>1 tone(125,50)
  262.           cm$=date$+" "+time$
  263.           i$="":if info(0) goto online
  264.           print @23"1) Auto Logon    2) Normal Logon"
  265.           print @23"3) System Logon  4) Logon as a user"\
  266.           print "Which ? ";:get i$
  267.           if (i$="1") or (i$="Y") then x=1:i$="":goto autolog
  268.           if (i$="3") or (i$="S") then x=1:i$="":d=19:goto autolog
  269.           if (i$<>"4") and (i$<>"U") goto online
  270.           input \"User number to log on as: " i$:x=val(i$):i$="":goto autolog
  271.  
  272. autolog
  273.           link "a:logon.seg","autolog"
  274. online
  275.           link "a:logon.seg","online"
  276.  
  277. rd.user
  278.           open #1,"a:users"
  279.           position #1,128,x
  280.           input #1,d1$,d2$\d3$\d4$,d5$
  281.           position #1,128,x,70
  282.           read #1,ram,58
  283.           lc$=mid$(" "+when$,2)
  284.           close #1
  285.           return
  286.  
  287. timemaster
  288.           poke -16191,0:poke -16189,0:poke -16192,0:poke -16190,255
  289.           poke -16191,4:poke -16189,4
  290.           poke -16190,16
  291.           poke -16190,54:a = peek(-16192) - 240
  292.           poke -16190,47
  293.           if a=0 dw$="Sunday"
  294.           if a=1 dw$="Monday"
  295.           if a=2 dw$="Tuesday"
  296.           if a=3 dw$="Wednesday"
  297.           if a=4 dw$="Thursday"
  298.           if a=5 dw$="Friday"
  299.           if a=6 dw$="Saturday"
  300.           zs$=left$(date$,2)
  301.           if zs$="01" mo$="January"
  302.           if zs$="02" mo$="February"
  303.           if zs$="03" mo$="March"
  304.           if zs$="04" mo$="April"
  305.           if zs$="05" mo$="May"
  306.           if zs$="06" mo$="June"
  307.           if zs$="07" mo$="July"
  308.           if zs$="08" mo$="August"
  309.           if zs$="09" mo$="September"
  310.           if zs$="10" mo$="October"
  311.           if zs$="11" mo$="November"
  312.           if zs$="12" mo$="December"
  313.           du$=str$(val(mid$(date$,4,2)))
  314.           yr$=", 19"+mid$(date$,7,2)
  315.           x=val(left$(time$,2))
  316.           tm$=right$(time$,2)
  317.           if tm$="AM" x$="Morning":return
  318.           if ((tm$="PM") and (x <= 5)) x$="Afternoon":return
  319.           if ((tm$="PM") and (x = 12)) x$="Afternoon":return
  320.           x$="Evening"
  321.           return
  322.  
  323. term3
  324.           if not info(5) then ct=ct+1:c2=c2+1
  325.  
  326.                          ; DOES NOT INCREMENT FOR LOCAL SYSOP CALLS ON CALL COUNT
  327.  
  328.           if (info(5)) and (info(2)) ct=ct+1:c2=c2+1
  329.           if c2>9999 then c2=0:c1=c1+1
  330.           gosub five.5
  331.           print "Updating Data File..."
  332.           open #1,"a:data"
  333.           print #1,c1,c2,ct,ct$,date$
  334.           print #1,nu,mn,wm,tm\a3$\l2$\l3$\l4$\l5$:close #1
  335.  
  336.           if ma ready "g:mail":kill #msg(un):update
  337.           if (info(5)) and (not info(2)) goto term4
  338.           if lg goto daily
  339.           print "Updating System Log..."
  340.           create "b:log.system":open #1,"b:log.system":append #1
  341.           print #1,cn$ "-"right$("0"+str$(ct-1),2)"  ";
  342.           print #1,left$(cm$,8)"  "mid$(cm$,10,5) right$(cm$,3)" ";
  343.           print #1,left$(time$,5) right$(time$,3)"  ";
  344.           print #1,right$("000"+str$(info(2)*300),4)"  ";
  345.           print #1,right$("00"+str$(a/60),3)":"right$("0"+str$(a mod 60),2)"  ";
  346.           print #1,right$("00"+str$(un),3)" ";
  347.           print #1,a3$:close
  348.  
  349.                          ; print daily log
  350. daily
  351.           print "Updating Daily Log..."
  352.           mc=bp-mg:uc=ul-ug:dc=dl-dg
  353.           open #1,"b:log.daily":append #1
  354.           print #1,right$(" "+str$(ct-1),2)"] ";
  355.           print #1,left$(a3$+"......................",20)"   ";
  356.           print #1,mid$(cm$,10,5)" "right$(cm$,3)"   ";
  357.           print #1,it$"   ";
  358.           print #1,right$("000"+str$(a/60),3)":"right$("0"+str$(a mod 60),2)"   ";
  359.           print #1,right$("00"+str$(mc),2)"   ";
  360.           print #1,right$("00"+str$(uc),2)"   ";
  361.           print #1,right$("00"+str$(dc),2)"   ";
  362.           print #1,right$("000"+str$(info(2)*300),4)
  363.           close
  364.  
  365. term4
  366.           print "Updating Stats File..."
  367.           a=clock(1):j0=bp-mg
  368.           j9=a/60:if a mod 60>30 j9=j9+1
  369.           create "b:stats":close
  370.           open #1,"b:stats":input #1,j1,j2,j3,j4,j5,j6,j7,j8:close
  371.           if ((info(5)) and (not info(2))) j1=j9+j1:else j2=j9+j2
  372.           j3=j3+j0
  373.           if info(2)=0 j4=j4+1
  374.           if info(2)=1 j5=j5+1
  375.           if info(2)=4 j6=j6+1
  376.           if info(2)=8 j7=j7+1
  377.           if info(2)=32 j8=j8+1
  378.           open #1,"b:stats":print #1,j1,j2,j3,j4,j5,j6,j7,j8:close
  379.           print "Updating Accesses..."
  380.           create "b:accesses":close
  381.           open #1,"b:accesses":input #1,n1,n2,n3,n4:close
  382.           n1=n1+m1:n2=n2+m2:n3=n3+m3:n4=n4+m4
  383.           open #1,"b:accesses":print #1,n1,n2,n3,n4:close
  384.           goto begin
  385.  
  386. five.5
  387.           l5$=l4$:l4$=l3$:l3$=l2$:l2$=lu$:return
  388. #1,128,x
  389.           input #1,d1$,d2$\d3$\d4$,d5$
  390.           position #1,128,x,70
  391.           read #1,ram,58
  392.           lc$=mid$(" "+when$,2)
  393.           close #1
  394.           return
  395.  
  396. timemaster
  397.